perm filename LOSS.2[QLA,LSP] blob sn#728071 filedate 1983-10-24 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(m-defun Y (f)
C00005 ENDMK
CāŠ—;
(m-defun Y (f)
	 (let ((h (lambda (g)
			  (f (lambda (x) 
				     (funcall (g g) x))))))  
	      (lambda (x) (funcall (h h) x))))


(m-defun test-y (l)
	 (let ((len 
		(y
		 (lambda (f)
			 (lambda (x)
				 (cond ((null x) 0)
				       (t (1+ (f (cdr x))))))))))
	      (len l)))

(m-defun QY (f)
	 (let ((tag (ncons ()))
	       (h (lambda (g)
			  (f (qlambda 'lazy (x) 
				      (funcall (g g) x))))))  
	      (lambda (x) 
		      (catch tag
			     (funcall (h h) x)))))

(m-defun test-qy (l)
	 (let ((len 
		(qy
		 (lambda (f)
			 (lambda (x)
				 (cond ((null x) 0)
				       (t 
					(1+ (f (cdr x))))))))))
	      (len l))) 

(do ((n 51. (1+ n)))
    ((= n 71.) 'done)
    (make-multi-processor n)
    (test-qy '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20))))

(startup 50)
Multi-processing Lisp with 50 processors.
=> 
20 
Number of Processors:	50
Processes Created:	58
Processes Scheduled:	59
Read Conflicts:		0
Write Conflicts:	0
Wait Cycles:		14516
Active Cycles:		1847
Multiprocessor Steps:	641
=> 
(print-jobs)